/*
 * IkaString.h
 */

#ifndef IKASTRING_H_
#define IKASTRING_H_

#include <stdio.h>
#include <stdlib.h>


namespace atomic {

class IkaString {
public:
	IkaString();
	IkaString(const char *text);
	IkaString(const atomic::IkaString &copy);
	virtual ~IkaString();

	int Size();
	int Size(const char* text);
	char* Copy(const char *text);
	void Print();
	char* C_str();
	template<class T>
	void Add(const T& text);
	void Clear();
	atomic::IkaString operator+(const char *text);
	atomic::IkaString operator+(const atomic::IkaString &text);
	atomic::IkaString operator=(const char *text);
	atomic::IkaString operator=(const atomic::IkaString &text);
private:
	char *myText;
	int mySize;

};

}

#endif /* IKASTRING_H_ */
